home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 701-725 / 708 / intuisup / intuisup42.lha / Intuisup / source.lha / Files / files.h < prev    next >
C/C++ Source or Header  |  1992-02-10  |  2KB  |  72 lines

  1. /* $Revision Header *** Header built automatically - do not edit! ***********
  2.  *
  3.  *    (C) Copyright 1991 by Torsten Jürgeleit
  4.  *
  5.  *    Name .....: files.h
  6.  *    Created ..: Thursday 19-Dec-91 20:00:56
  7.  *    Revision .: 0
  8.  *
  9.  *    Date        Author                 Comment
  10.  *    =========   ====================   ====================
  11.  *    19-Dec-91   Torsten Jürgeleit      Created this file!
  12.  *
  13.  ****************************************************************************
  14.  *
  15.  *    Defines, structures, prototypes and pragmas for text file functions
  16.  *
  17.  * $Revision Header ********************************************************/
  18.  
  19. #ifndef    ISUP_TEXT_FILES_H
  20. #define    ISUP_TEXT_FILES_H
  21.  
  22.     /* Defines for text file */
  23.  
  24. #define TEXT_FILE_FLAG_TRIM_LINE        (1 << 0)    /* strip leading and trailing white space */
  25. #define TEXT_FILE_FLAG_SKIP_COMMENTS        (1 << 1)    /* skip C style comments */
  26. #define TEXT_FILE_FLAG_SKIP_EMPTY_LINES        (1 << 2)    /* skip empty lines */
  27. #define TEXT_FILE_FLAG_LINE_CONTINUATION    (1 << 3)    /* continue line with last character '\' in next line */
  28.  
  29. #define TEXT_FILE_STATUS_NORMAL            0
  30. #define TEXT_FILE_STATUS_EOF            1
  31.  
  32. #define TEXT_FILE_ERROR_NO_FILE_DATA        -1
  33. #define TEXT_FILE_ERROR_LINE_TOO_LONG        -2
  34. #define TEXT_FILE_ERROR_NO_COMMENT_END        -3
  35. #define TEXT_FILE_ERROR_READ_FAILED        -4
  36.  
  37.     /* Structures for text file */
  38.  
  39. struct FileData {
  40.  
  41.     /* Public data */
  42.     BYTE    *fd_Line;
  43.     USHORT    fd_LineLen;
  44.     USHORT    fd_LineNum;
  45.  
  46.     /* Internal data */
  47.     LONG    fd_ID;        /* id = 'ISUP' */
  48.     BYTE    *fd_Name;
  49.     USHORT    fd_ReadBufferSize;
  50.     USHORT    fd_LineBufferSize;
  51.     ULONG    fd_Flags;
  52.     BPTR    fd_FileHandle;
  53.     BYTE    *fd_ReadBuffer;
  54.     BYTE    *fd_CurrentPtr;
  55.     BYTE    *fd_EndPtr;
  56.     BYTE    *fd_LineBuffer;
  57. };
  58.     /* Global prototypes */
  59.  
  60. struct FileData  *open_text_file(BYTE *name, USHORT read_buffer_size,
  61.                      USHORT line_buffer_size, USHORT flags);
  62. SHORT read_text_line(struct FileData  *fd);
  63. VOID  close_text_file(struct FileData  *fd);
  64.  
  65.     /* Global pragmas (Aztec C v5.2a) */
  66.  
  67. #pragma intfunc(open_text_file(a0,d0,d1,d2))
  68. #pragma intfunc(read_text_line(a0))
  69. #pragma intfunc(close_text_file(a0))
  70.  
  71. #endif   /* ISUP_TEXT_FILES_H */
  72.